package homework.day02;

import java.io.*;

/**
 * 将当前目录下的所有文件都复制一份，复制的文件命名为:原文件名_cp.后缀
 * 比如原文件为:test.dat
 * 复制后的文件为:test_cp.dat
 * @author Xiloer
 *
 */
public class Test01 {
	public static void main(String[] args) throws IOException {
		/*
			思路:
			分为几部分考虑.
			第一个是要获取到当前目录中的所有文件(思考哪个API可以解决)
			第二个是获取到的每一个文件都要复制(复制用什么API)
			第三个是复制的文件名，如何重新组建xxx_cp.xxx的名字?
			这里要将原文件名拆开后想办法拼接_cp.
		 */
		File file = new File(".");
		/**第一个是要获取到当前目录中的所有文件(思考哪个API可以解决)*/
		File[] filesList = file.listFiles();
		assert filesList != null;

		for (File files : filesList) {
			if (files.isFile()) {//判断如果是文件则开始复制
				/**第三个是复制的文件名，如何重新组建xxx_cp.xxx的名字? 这里要将原文件名拆开后想办法拼接_cp.*/
//				FileInputStream fis = new FileInputStream(file.getName());
//				BufferedInputStream bis = new BufferedInputStream(fis)
				BufferedInputStream bis = new BufferedInputStream(new FileInputStream(files.getName()));
				String filename = files.getName();
				String end = filename.substring(filename.lastIndexOf("."));
				String start = filename.substring(0, filename.lastIndexOf("."));
				String newFilename = start + "_cp" + end;
				/**第二个是获取到的每一个文件都要复制(复制用什么API)*/
//				FileOutputStream fos = new FileOutputStream(newFilename);
//				BufferedOutputStream bos = new BufferedOutputStream(fos);
				BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(newFilename));
				int d;
				while ((d = bis.read())!= -1){
					bos.write(d);
				}
				bis.close();
				bos.close();
			}
		}
	}
}

/**
 * 思路:
 * 分为几部分考虑.
 * 第一个是要获取到当前目录中的所有文件(思考哪个API可以解决)
 * 第二个是获取到的每一个文件都要复制(复制用什么API)
 * 第三个是复制的文件名，如何重新组建xxx_cp.xxx的名字?
 *      这里要将原文件名拆开后想办法拼接_cp
 */


